package com.yfp.goods.service;

import com.yfp.common.core.domain.R;
import com.yfp.goods.domain.ComboGoods;
import com.yfp.goods.domain.Goods;
import com.yfp.goods.domain.vo.ComboGoodsVo;

import java.util.List;

/**
 * 套餐商品表(ComboGoods)表服务接口
 *
 *
 * @since 2023-12-27 15:35:02
 */
public interface ComboGoodsService {

    /**
     * 通过ID查询单条数据
     *
     * @param comboGoodsId 主键
     * @return 实例对象
     */
    ComboGoods queryById(String comboGoodsId);

    /**
     * 分页查询
     *
     * @param comboGoods 筛选条件
     * @return 查询结果
     */
    List<ComboGoods> queryByPage(ComboGoods comboGoods);

    /**
     * 新增数据
     *
     * @param comboGoodsVo 实例对象
     * @return 实例对象
     */
    R insert(List<ComboGoodsVo> comboGoodsVo);

    /**
     * 修改数据
     *
     * @param comboGoods 实例对象
     * @return 实例对象
     */
    ComboGoods update(ComboGoods comboGoods);

    /**
     * 根据套餐id查询绑定的商品信息
     *
     * @param comboId 组合id
     * @return {@link Goods}
     */
    List<Goods> queryByComboId(String comboId);

    /**
     * 查询套餐商品列表
     *
     * @param goodsId 货物id
     * @return long
     */
    List<ComboGoods> queryByGoodsId(String goodsId);

    /**
     * 删除套餐商品
     *
     * @param comboGoodsId 组合商品id
     * @return {@link R}
     */
    boolean deleteComboGoods(String comboGoodsId);
}
